home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / Interfaces / Universal Interfaces 1.0 / CIncludes / ImageCodec.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-25  |  7.0 KB  |  259 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        ImageCodec.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef    __IMAGECODEC__
  13. #define __IMAGECODEC__
  14.  
  15. #ifndef __QUICKDRAW__
  16. #include <Quickdraw.h>
  17. /*    #include <Types.h>                                            */
  18. /*        #include <ConditionalMacros.h>                            */
  19. /*        #include <MixedMode.h>                                    */
  20. /*            #include <Traps.h>                                    */
  21. /*    #include <QuickdrawText.h>                                    */
  22. /*        #include <IntlResources.h>                                */
  23. #endif
  24.  
  25. #ifndef __QDOFFSCREEN__
  26. #include <QDOffscreen.h>
  27. #endif
  28.  
  29. #ifndef __TYPES__
  30. #endif
  31.  
  32. #ifndef __COMPONENTS__
  33. #include <Components.h>
  34. #endif
  35.  
  36. #ifndef    __IMAGECOMPRESSION__
  37. #include <ImageCompression.h>
  38. /*    #include <StandardFile.h>                                    */
  39. /*        #include <Dialogs.h>                                    */
  40. /*            #include <Windows.h>                                */
  41. /*                #include <Events.h>                                */
  42. /*                    #include <OSUtils.h>                        */
  43. /*                #include <Controls.h>                            */
  44. /*                    #include <Menus.h>                            */
  45. /*            #include <TextEdit.h>                                */
  46. /*        #include <Files.h>                                        */
  47. /*            #include <SegLoad.h>                                */
  48. #endif
  49.  
  50. #ifndef __MOVIES__
  51. #include <Movies.h>
  52. /*    #include <Aliases.h>                                        */
  53. /*        #include <AppleTalk.h>                                    */
  54. /*    #include <ToolUtils.h>                                        */
  55. /*        #include <TextUtils.h>                                    */
  56. /*            #include <Script.h>                                    */
  57. /*        #include <FixMath.h>                                    */
  58. #endif
  59.  
  60. #define codecGetCodecInfo 0x00
  61.  
  62. #define codecGetCompressionTime 0x01
  63.  
  64. #define codecGetMaxCompressionSize 0x02
  65.  
  66. #define codecPreCompress 0x03
  67.  
  68. #define codecBandCompress 0x04
  69.  
  70. #define codecPreDecompress 0x05
  71.  
  72. #define codecBandDecompress 0x06
  73.  
  74. #define codecCDSequenceBusy 0x07
  75.  
  76. #define codecGetCompressedImageSize 0x08
  77.  
  78. #define codecGetSimilarity 0x09
  79.  
  80. #define codecTrimImage 0x0A
  81.  
  82. #define codecRequestSettings 0x0B
  83.  
  84. #define codecGetSettings 0x0C
  85.  
  86. #define codecSetSettings 0x0D
  87.  
  88. #define codecCanScale (1L<<0)
  89.  
  90. #define codecCanMask (1L<<1)
  91.  
  92. #define codecCanMatte (1L<<2)
  93.  
  94. #define codecCanTransform (1L<<3)
  95.  
  96. #define codecCanTransferMode (1L<<4)
  97.  
  98. #define codecCanCopyPrev (1L<<5)
  99.  
  100. #define codecCanSpool (1L<<6)
  101.  
  102. #define codecCanClipVertical (1L<<7)
  103.  
  104. #define codecCanClipRectangular (1L<<8)
  105.  
  106. #define codecCanRemapColor (1L<<9)
  107.  
  108. #define codecCanFastDither (1L<<10)
  109.  
  110. #define codecCanSrcExtract (1L<<11)
  111.  
  112. #define codecCanCopyPrevComp (1L<<12)
  113.  
  114. #define codecCanAsync (1L<<13)
  115.  
  116. #define codecCanMakeMask (1L<<14)
  117.  
  118. #define codecCanShift (1L<<15)
  119.  
  120. #if defined(powerc) || defined (__powerc)
  121. #pragma options align=mac68k
  122. #endif
  123. struct CodecCapabilities {
  124.     long                        flags;
  125.     short                        wantedPixelSize;
  126.     short                        extendWidth;
  127.     short                        extendHeight;
  128.     short                        bandMin;
  129.     short                        bandInc;
  130.     short                        pad;
  131.     unsigned long                time;
  132. };
  133. #if defined(powerc) || defined(__powerc)
  134. #pragma options align=reset
  135. #endif
  136.  
  137. typedef struct CodecCapabilities CodecCapabilities;
  138.  
  139. #define codecConditionFirstBand (1L<<0)
  140.  
  141. #define codecConditionLastBand (1L<<1)
  142.  
  143. #define codecConditionFirstFrame (1L<<2)
  144.  
  145. #define codecConditionNewDepth (1L<<3)
  146.  
  147. #define codecConditionNewTransform (1L<<4)
  148.  
  149. #define codecConditionNewSrcRect (1L<<5)
  150.  
  151. #define codecConditionNewMask (1L<<6)
  152.  
  153. #define codecConditionNewMatte (1L<<7)
  154.  
  155. #define codecConditionNewTransferMode (1L<<8)
  156.  
  157. #define codecConditionNewClut (1L<<9)
  158.  
  159. #define codecConditionNewAccuracy (1L<<10)
  160.  
  161. #define codecConditionNewDestination (1L<<11)
  162.  
  163. #define codecConditionFirstScreen (1L<<12)
  164.  
  165. #define codecConditionCodecChangedMask (1L<<31)
  166.  
  167. #define codecInfoResourceType 'cdci'
  168.  
  169. #define codecInterfaceVersion 1
  170.  
  171. #if defined(powerc) || defined (__powerc)
  172. #pragma options align=mac68k
  173. #endif
  174. struct CodecCompressParams {
  175.     ImageSequence                sequenceID;
  176.     ImageDescriptionHandle        imageDescription;
  177.     Ptr                            data;
  178.     long                        bufferSize;
  179.     long                        frameNumber;
  180.     long                        startLine;
  181.     long                        stopLine;
  182.     long                        conditionFlags;
  183.     CodecFlags                    callerFlags;
  184.     CodecCapabilities            *capabilities;
  185.     ICMProgressProcRecord        progressProcRecord;
  186.     ICMCompletionProcRecord        completionProcRecord;
  187.     ICMFlushProcRecord            flushProcRecord;
  188.     PixMap                        srcPixMap;
  189.     PixMap                        prevPixMap;
  190.     CodecQ                        spatialQuality;
  191.     CodecQ                        temporalQuality;
  192.     Fixed                        similarity;
  193.     DataRateParamsPtr            dataRateParams;
  194.     long                        reserved;
  195. };
  196. #if defined(powerc) || defined(__powerc)
  197. #pragma options align=reset
  198. #endif
  199.  
  200. typedef struct CodecCompressParams CodecCompressParams;
  201.  
  202. #if defined(powerc) || defined (__powerc)
  203. #pragma options align=mac68k
  204. #endif
  205. struct CodecDecompressParams {
  206.     ImageSequence                sequenceID;
  207.     ImageDescriptionHandle        imageDescription;
  208.     Ptr                            data;
  209.     long                        bufferSize;
  210.     long                        frameNumber;
  211.     long                        startLine;
  212.     long                        stopLine;
  213.     long                        conditionFlags;
  214.     CodecFlags                    callerFlags;
  215.     CodecCapabilities            *capabilities;
  216.     ICMProgressProcRecord        progressProcRecord;
  217.     ICMCompletionProcRecord        completionProcRecord;
  218.     ICMDataProcRecord            dataProcRecord;
  219.     CGrafPtr                    port;
  220.     PixMap                        dstPixMap;
  221.     BitMapPtr                    maskBits;
  222.     PixMapPtr                    mattePixMap;
  223.     Rect                        srcRect;
  224.     MatrixRecord                *matrix;
  225.     CodecQ                        accuracy;
  226.     short                        transferMode;
  227.     TimeRecord                    *when;
  228.     long                        reserved[1];
  229.     char                        matrixFlags;
  230.     char                        matrixType;
  231.     Rect                        dstRect;
  232. };
  233. #if defined(powerc) || defined(__powerc)
  234. #pragma options align=reset
  235. #endif
  236.  
  237. typedef struct CodecDecompressParams CodecDecompressParams;
  238.  
  239. #define matrixFlagScale2x (1L<<7)
  240.  
  241. #define PREAMBLE Handle    storage
  242.  
  243. extern pascal ComponentResult CDGetCodecInfo(Handle storage, CodecInfo *info);
  244. extern pascal ComponentResult CDGetCompressionTime(Handle storage, PixMapHandle src, const Rect *srcRect, short depth, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *time);
  245. extern pascal ComponentResult CDGetMaxCompressionSize(Handle storage, PixMapHandle src, const Rect *srcRect, short depth, CodecQ quality, long *size);
  246. extern pascal ComponentResult CDPreCompress(Handle storage, CodecCompressParams *params);
  247. extern pascal ComponentResult CDBandCompress(Handle storage, CodecCompressParams *params);
  248. extern pascal ComponentResult CDPreDecompress(Handle storage, CodecDecompressParams *params);
  249. extern pascal ComponentResult CDBandDecompress(Handle storage, CodecDecompressParams *params);
  250. extern pascal ComponentResult CDCodecBusy(Handle storage, ImageSequence seq);
  251. extern pascal ComponentResult CDGetCompressedImageSize(Handle storage, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize);
  252. extern pascal ComponentResult CDGetSimilarity(Handle storage, PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity);
  253. extern pascal ComponentResult CDTrimImage(Handle storage, ImageDescriptionHandle Desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc);
  254. extern pascal ComponentResult CDRequestSettings(Handle storage, Handle settings, Rect *rp, ModalFilterUPP filterProc);
  255. extern pascal ComponentResult CDGetSettings(Handle storage, Handle settings);
  256. extern pascal ComponentResult CDSetSettings(Handle storage, Handle settings);
  257. #endif
  258.  
  259.